﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using System.Collections.ObjectModel;

namespace Airport
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.
    [ServiceContract(/*SessionMode=SessionMode.Required,*/
        CallbackContract=typeof(IAirportCallback))]
    public interface IAirportService
    {
        
        // TODO Implement publish/subscribe framework for GUIs and airport
        // For now, Hack around it
        // Event to notify GUI clients of new flights
        //[OperationContract(IsOneWay = true)]
        //Collection<Flight> flightsAdded();

        [OperationContract(IsOneWay = true)]
        void RegisterForFlightUpdates();
        [OperationContract(IsOneWay = true)]
        void UnregisterForFlightUpdates();
    }

    

}
